package com.regulareport.common.core.domain.entity;

import com.regulareport.common.annotation.DateFormat;
import com.regulareport.common.annotation.Excel;
import com.regulareport.common.core.domain.BaseEntity;
import org.springframework.stereotype.Component;

import java.util.Arrays;
import java.util.Date;


/**
 * 报版本管理对象 report_forms_edit
 * 
 * @author ruoyi
 * @date 2025-09-03
 */
@Component
public class ReportFormsEdit extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 报表ID */
    private Long pkId;

    /** 报表编号 */
    @Excel(name = "报表编号")
    private String reportFormNo;

    /** 报表名称 */
    @Excel(name = "报表名称")
    private String reportFormName;

    /** （报送类型M月 Q季度 Y年  H年） */
    @Excel(name = "", readConverterExp = "报=送类型M月,Q=季度,Y=年,H=年")
    private String frequency;

    /** 批次 */
    @Excel(name = "批次")
    private String batchNum;

    /** 金额单位 */
    @Excel(name = "金额单位")
    private String monetaryUnit;

    /** 币种 */
    @Excel(name = "币种")
    private String currency;

    /** 表样信息 */
    private byte[] fileJson;

    /** 日期版本 */
    private String edition;

    /** 报送日期 */
    @DateFormat(pattern = "yyyy-MM-dd")
    private Date reportDate;

    /** 删除标识 */
    private String delFlag;

    /** 模板年份 */
    private String year;

    /** 模板路径 */
    private String filePath;

    /** 模板名称 */
    private String fileName;

    /** sheet名称 */
    private String sheetName;

    /** 是否启用 */
    private String enable;

    /** 是否启用 */
    private String loc;

    /** 填报说明附件路径 */
    private String fillFilePath;

    /** 填报说明附件名称 */
    private String fillFileName;


    public void setPkId(Long pkId) 
    {
        this.pkId = pkId;
    }

    public Long getPkId() 
    {
        return pkId;
    }

    public void setReportFormNo(String reportFormNo) 
    {
        this.reportFormNo = reportFormNo;
    }

    public String getReportFormNo() 
    {
        return reportFormNo;
    }

    public void setReportFormName(String reportFormName) 
    {
        this.reportFormName = reportFormName;
    }

    public String getReportFormName() 
    {
        return reportFormName;
    }

    public void setFrequency(String frequency) 
    {
        this.frequency = frequency;
    }

    public String getFrequency() 
    {
        return frequency;
    }

    public void setBatchNum(String batchNum) 
    {
        this.batchNum = batchNum;
    }

    public String getBatchNum() 
    {
        return batchNum;
    }

    public void setMonetaryUnit(String monetaryUnit) 
    {
        this.monetaryUnit = monetaryUnit;
    }

    public String getMonetaryUnit() 
    {
        return monetaryUnit;
    }

    public void setCurrency(String currency) 
    {
        this.currency = currency;
    }

    public String getCurrency() 
    {
        return currency;
    }

    public byte[] getFileJson() {
        return fileJson;
    }

    public void setFileJson(byte[] fileJson) {
        this.fileJson = fileJson;
    }

    public void setEdition(String edition)
    {
        this.edition = edition;
    }

    public String getEdition() 
    {
        return edition;
    }

    public Date getReportDate() {
        return reportDate;
    }

    public void setReportDate(Date reportDate) {
        this.reportDate = reportDate;
    }

    public String getDelFlag() {
        return delFlag;
    }

    public void setDelFlag(String delFlag) {
        this.delFlag = delFlag;
    }

    public String getYear() {
        return year;
    }

    public void setYear(String year) {
        this.year = year;
    }

    public String getFilePath() {
        return filePath;
    }

    public void setFilePath(String filePath) {
        this.filePath = filePath;
    }

    public String getFileName() {
        return fileName;
    }

    public void setFileName(String fileName) {
        this.fileName = fileName;
    }

    public String getSheetName() {
        return sheetName;
    }

    public void setSheetName(String sheetName) {
        this.sheetName = sheetName;
    }

    public String getEnable() {
        return enable;
    }

    public void setEnable(String enable) {
        this.enable = enable;
    }

    public String getLoc() {
        return loc;
    }

    public void setLoc(String loc) {
        this.loc = loc;
    }

    public String getFillFilePath() {
        return fillFilePath;
    }

    public void setFillFilePath(String fillFilePath) {
        this.fillFilePath = fillFilePath;
    }

    public String getFillFileName() {
        return fillFileName;
    }

    public void setFillFileName(String fillFileName) {
        this.fillFileName = fillFileName;
    }

    @Override
    public String toString() {
        return "ReportFormsEdit{" +
                "pkId=" + pkId +
                ", reportFormNo='" + reportFormNo + '\'' +
                ", reportFormName='" + reportFormName + '\'' +
                ", frequency='" + frequency + '\'' +
                ", batchNum='" + batchNum + '\'' +
                ", monetaryUnit='" + monetaryUnit + '\'' +
                ", currency='" + currency + '\'' +
                ", fileJson=" + Arrays.toString(fileJson) +
                ", edition='" + edition + '\'' +
                ", reportDate=" + reportDate +
                ", delFlag='" + delFlag + '\'' +
                ", year='" + year + '\'' +
                ", filePath='" + filePath + '\'' +
                ", fileName='" + fileName + '\'' +
                ", sheetName='" + sheetName + '\'' +
                ", updateBy='" + super.getUpdateBy() + '\'' +
                ", enable='" + enable + '\'' +
                ", fillFilePath='" + fillFilePath + '\'' +
                ", fillFileName='" + fillFileName + '\'' +
                '}';
    }
}
